/* 
 * File:   Key.hxx
 * Author: enric
 *
 * Created on 26 de enero de 2012, 17:22
 */

#ifndef KEY_HXX
#define	KEY_HXX

#include "Cell.hxx"

/**
 * State Variable: Key
 */
class Key
{
public:
	Key( unsigned ident, eShape shape, Cell* location );
	~Key();

	unsigned identifier() 	 const { return m_identifier; }
	eShape   shape()         const { return m_shape; }
	Cell*    location()      const { return m_location; }

	void  set_location( Cell* c ) { m_location = c; }


protected:
	unsigned      m_identifier;
	eShape        m_shape;
	Cell*         m_location;

};

#endif	/* KEY_HXX */

